import React, { useEffect, useState } from 'react';
import { AxSelectSearch } from './AxSelectSearch';
import { axhelper } from '@/shared/axhelper';
/**
 * 自定义枚举下拉框
 * @param label 标签
 * @param field 字段名称
 * @param value 值
 * @param enumName 枚举类型
 * @param mode 模式 'multiple' | 'tags' | '-'
 * @param allowClear 允许为空（默认：true）
 * @param showSearch 是否搜索（默认false）
 * @param excludeValue 排除的值（数组类型）
 * @param placeholder 占位符
 * @param required 是否必填
 * @param message 提示信息（如果添加了，所有错误提示为改信息）
 * @param validator 自定义验证函数
 * @param hidden 是否隐藏
 */
export function AxSelectEnum(props) {
  const { enumName, showSearch = false, excludeValue, ...rest } = props;
  const [data, setData] = useState([]);

  useEffect(() => {
    let d = axhelper.getDicByEnumName(enumName);
    if (excludeValue) {
      d = d.filter(i => excludeValue.findIndex(j => j === i.value) === -1);
    }
    setData(d);
  }, [enumName, excludeValue]);

  return (
    <AxSelectSearch showSearch={showSearch} {...rest} data={data} />
  );
}
